// 开发模式下不请求数据，以免因为UI的热更新而反复请求数据，数据全部来自于本地
const NoData = false
/**
 * 是否完全不需要本地请求。
 * 如果为true，可以删掉本地请求的代码，全部使用云函数云对象或者url完成
 * 删除方法介绍：core/request/async/index.js中的文件说明
 */
const NoLocal = false
/**
 * 当前版本是否测试环境
 * 请注意，该值决定了是否写入测试数据库
 * 开发状态下，一般一定是测试环境。也可以指定为true
 * 生产状态下，一般是读取项目信息，以决定是否测试环境
 * 0：表示该值在启动方法后会被重新赋值（start.isTest）
 * 
 * 如果其isTest是布尔值，直接决定
 * 如果是0，表示开发状态下是测试环境；生产状态下是正式环境
 * 如果是1以及非0，表示开发状态下是测试环境；生产状态下是读取项目设置信息
 * 默认是1
 */
const isTest = false
/**
 * 开启调试日志
 * 	0：完全不开启
 * 	1：仅在生产发布状态下开启。一般要求一定是测试环境
 * 	2：仅在开发调试状态下开启
 * 	3：开发调试状态和生产发布状态都开启
 */
const logStatus = 0

// 当前项目代码。如果要请求的云服务空间绑定了多个项目，则需要写死，正常留空即可
const TargetCode = undefined
// 启动的url接口。如果为空，则使用StartCloud启动
const StartUrl = undefined
// 启动的云服务空间信息。优先使用StartUrl
const StartCloud = {
	key: 'qcjjr',
	provider: 'alipay',
	spaceId: 'env-00jxt6jkc9up',
	spaceAppId: '2021004149645865',
	accessKey: 'HVe4YvJjSrVvSLs8',
	secretKey: 'JnqIwdA2QRXTCvHN',
}

/**
 * 云服务空间的映射规则。在使用相应的云服务空间的云函数时用到
 * 代码内使用固定的key调用对应云服务空间的云函数，该key要映射为实际返回的云服务空间名称
 * 注意value值是代码中调用的，如果要修改，就要去任意代码中查找，很不好改。建议凡调用云函数云对象，都是用点语法，即：fetchCloud.main.language()
 * 
 * 一般要将系统启动的那个云服务空间名称映射为main，主要是照顾启动相关的接口
 */
const cloudMaps = {
	'capfer': 'capfer',
	'common': 'common',
	'product': 'product',
	'qcjjr': 'main'
}

/**
 * 启动信息
 * 不同的项目，需要改动的内容就在这里
 * 其它内容要保证每一个项目都可以直接复制使用，不需要改动
 */
module.exports = {
	NoData, NoLocal, isTest, logStatus,
	TargetCode, StartUrl, StartCloud,
	// 云服务空间的映射规则。在使用相应的云服务空间的云函数时用到
	cloudMaps,
	/**
	 * 以下是更新数据库信息的要求
	 */
	// #ifdef H5
	cloud: {
		tencent: undefined, // 腾讯云
		aliyun: {
			key: 'common',
			provider: 'aliyun',
			spaceId: 'mp-1b19f831-0ec0-4bae-a407-428d8d819ff5',
			clientSecret: 'EYWi4ZRqvXUnizcGhInBuw=='
		}, // 阿里云
		alipay: {
			key: 'qcjjr',
			provider: 'alipay',
			spaceId: 'env-00jxt6jkc9up',
			spaceAppId: '2021004149645865',
			accessKey: 'HVe4YvJjSrVvSLs8',
			secretKey: 'JnqIwdA2QRXTCvHN',
		}, // 支付宝云
	},
	dbupdates: {
		provider: 'alipay', // 要更新哪一个云服务空间的数据库。如果绑定了多个云服务空间，可不指定，优先以实际绑定的为主
		
		all: false, // 如果需要全部更新，改为true即可。实际不支持读取文件夹内的所有的文件，只能读取指定的文件。该参数不生效
		// 需要新增的数据库
		add: [],
		// 需要覆盖修改的数据库。不修改单个，一定是删除后再新增
		alert: [],
		// 需要删除的数据库
		delete: []
	}
	// #endif
}